Espero que lo estén haciendo bien. Estoy aprendiendo Javascript. Conocí "continuar", que podemos usar en bucle para la iteración. Pero esto es lo que no puedo obtener
Primero echa un vistazo al código:
let k = 1 do { if (k === 9) { k++; continue; } console.log(k + 1); k++; } while (k < 15);Cuando en console.log es (k+1), se imprime 9 y se pierde 10. ¿No puedes entender por qué?
Pero cuando se usa este código
let k = 1 do { if (k === 9) { k++; continue; } console.log(k); k++; } while (k < 15);Cuando en console.log es (k)entonces, 9 no se imprime y 10 se imprime.
¿No puede entender la lógica detrás de cuando se usa simple (k) y cuando se usa (k+1)?
Así que esto es lo que entendí. Eso si K=1. consola.log(k+1). 2 está impreso. y luego debido a k++. k se convierte en 2 y la condición se prueba y, como es verdadera, se moverá a otro ciclo. Y esto continúa. ¿Derecha?
Gracias
continue omite el resto del cuerpo del ciclo e inicia la siguiente iteración del ciclo (si la condición while sigue siendo verdadera).
En ambos fragmentos de código, haces esto cuando k == 9 , por lo que omite el código que llama a console.log() .
En la primera versión, registra k+1 . Entonces, cuando k == 9 , se salta la impresión 10 .
En la segunda versión, registra k . Entonces, cuando k == 9 , se salta la impresión 9 .
Eso es porque en su lógica, si k === 9 , agrega +1 a k y luego lo registra en la consola, lo que hace que 9 sea invisible. Debe iniciar sesión y luego agregar k++ .
En el primer ejemplo, está registrando el valor de k+1 , entonces, cuando k es 1, registra el valor 2 (1+1), cuando k es 2, registra el valor 3 (2+1) hasta el final donde k es 8 y logs 9 (8+1). Sin embargo, cuando k es 9, k todavía se incrementa y k+1 es 10, pero esto no se registra porque el resto del ciclo se omite.
En el segundo ejemplo, está haciendo exactamente lo mismo pero registrando el valor de k no k+1 , por lo que todos los valores registrados son 1 menos.
"... ¿TÚ también puedes explicar k ++ en console.log (k + 1)"
En ambos casos, el valor de k se incrementa en 1 cada vez alrededor de los bucles, ya sea al final del bloque, después de console.log o dentro del bloque if (k === 9) antes de continue .